//
//  main.m
//  Day02综合知识
//
//  Created by wenjim on 17/8/30.
//  Copyright © 2017年 WenJim. All rights reserved.
//

#import <Foundation/Foundation.h>



int main(int argc, const char * argv[]) {
    
    /*
     1.什么是面向对象？
     找对象使用对象的方法（功能）
     
     2.对象
     3.什么是类
     类就是用于描述对象的共性特征     主要用于描述对象的属性和行为
     
     4.如何定义一个类
      4.1 类的声明
          声明类的目的：告诉系统我们这个类中有哪些属性和方法
          类名：首字母大写
          : NSObject 为了让我们的类具备创建对象的能力，也就是可以使用new方法
       @interface 类名 : NSObject
        {
            属性;// 属性必须写到{}中
        }
        行为(方法)；// 方法必须写道{}外面
       @end
     
      4.2 类的实现
       @implementation 类名
        方法的实现
       @end
     
     5.如何创建对象
     要想创建对象必须给类发送一个new消息，调用类的new方法
     >开辟存储空间
     >初始化属性
     >返回地址
     类名 * p ＝ [类名 new];
     
      5.1如何发送消息？[类名／对象 方法名称];
     
     6.修改对象的属性和获取对象的属性
     因为类的本质是一个结构体，所以我们是用一个指向结构体的指针保存了对象的地址，所以我们可以通过指针操作结构体的方式操作对象
    
     p->属性名称 ＝ 值; //对象的属性默认是受保护的，必须把属性变为公开的才可以直接访问 @public 是把属性变为公开的关键词
     NSLog(@"age = %i",p->age);
     
     7.类中可以定义两种方法
        7.1对象方法
            以 － 开头
            可以直接访问对象的属性
            必须使用对象调用
            
            对象方法中可以直接调用其他对象方法
            对象方法中可以直接调用类方法
        7.2类方法
            以 + 开头
            不可以直接访问对象的属性
            必须使用类调用
            
            类方法中不可以直接调用对象方法
            类方法中可以直接调用类方法
     
        7.3方法定义的注意点
            方法名采用 驼峰命名
            方法中的数据类型都必须使用()括起来
            方法中每个参数的数据类型前面都必须加上:
            :也是方法名的一部分
     
     */
    
    return 0;
}
